package com.example.springsecurity.auth.qq.connet;

import com.example.springsecurity.auth.qq.api.QQ;
import com.example.springsecurity.auth.qq.api.QQUserInfo;
import org.springframework.social.connect.ApiAdapter;
import org.springframework.social.connect.ConnectionValues;
import org.springframework.social.connect.UserProfile;

/**
 * 构建ApiAdapter
 */
public class QQAdapter implements ApiAdapter<QQ> {
    //测试qq接口是否可用
    @Override
    public boolean test(QQ api) {
        return true;
    }

    //把connetion数据和qq接口数据进行适配
    @Override
    public void setConnectionValues(QQ api, ConnectionValues values) {
        //获取qq用户信息
        QQUserInfo userInfo = api.getUserInfo();
        //把qq用户信息设置到connection里
        values.setDisplayName(userInfo.getNickname());//用户名称
        values.setImageUrl(userInfo.getFigureurl_qq_1());//qq头像;
        values.setProfileUrl(null);//个人主页  qq没有
        values.setProviderUserId(userInfo.getOpenId());//openID
    }

    //类似于上面的方法
    @Override
    public UserProfile fetchUserProfile(QQ api) {
        return null;
    }

    @Override
    public void updateStatus(QQ api, String message) {
        //类似于微博的消息主页  所以qq不需要整理这里
    }
}
